package com.itheima03;

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;

/**
 * @author Xiao
 * @date 2021/7/15
 */
public class ListDemo03 {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("hello");
        list.add("world");
        list.add("java");
        System.out.println(list);
        System.out.println("------------");
        ListIterator<String> lit = list.listIterator();
        //列表迭代器反向遍历不常用，正向遍历一般直接用迭代器Iterator的方法，
        // 故列别迭代器ListIterator的next()/hasNext()方法和previous()/hasPrevious()了解即可
       /*
       while (lit.hasNext()) {
            System.out.println(lit.next());
        }
        System.out.println("-----------");
        //如果不先进行正向使用迭代器遍历集合（next()），则反向遍历（previous()）无法实现，
        // 因为迭代器的指向最初为第1个索引位置，要先通过next()方法将迭代器指向末尾，
        // 再调用previous()方法从末尾反向遍历集合。
        while (lit.hasPrevious()) {
            String s = lit.previous();
            System.out.println(s);
        }*/
       while (lit.hasNext()) {
           if (lit.next().equals("java")) {
               lit.add("javaee");
           }
       }
        System.out.println(list);
    }
}
